package java44th.group.service.admin.topic;

import java44th.group.bean.admin.bo.topic.TopicBatchDeleteByIdBo;
import java44th.group.bean.admin.bo.topic.TopicCreateBo;
import java44th.group.bean.admin.bo.topic.TopicListBo;
import java44th.group.bean.admin.bo.topic.TopicReadById;
import java44th.group.bean.common.CommonData;
import java44th.group.bean.po.MarketTopic;

/**
 * @Aurhor: 帅的一批
 * @CreateAt: 2022/10/13 11:18
 * @Description:
 * @PACKAGE_NAME： java44th.group.service.admin.topic
 */
public interface TopicService {

    /**
     * 获取专题列表
     * @param topicListBo
     * @return
     *  1. null 参数或者其他异常
     *  2. 非null 成功
     */
    CommonData getTopicList(TopicListBo topicListBo);

    /**
     * 插入一条新的专题
     * @param topicCreateBo
     * @return
     *  1. null 发生异常
     *  2. 非null 成功返回
     */
    MarketTopic createTopic(TopicCreateBo topicCreateBo);

    /**
     * 通过 专题id查询一条专题
     * @param id
     * @return
     */
    TopicReadById  getTopicByid(Integer id);

    /**
     * 虚假的删除 修改表中删除的删除字段为ture
     * @param marketTopic
     */
    void virtualDelete(MarketTopic marketTopic);

    /**
     * 批量虚假删除  修改表中删除的删除字段为ture
     * @param topicBatchDeleteByIdBo
     */
    void virtualDeleteBatchTopicByid(TopicBatchDeleteByIdBo topicBatchDeleteByIdBo);

    /**
     *  更新标题
     * @param marketTopic
     * @return
     *  1. null 更新失败
     *  2. 其他成功
     */
    MarketTopic updateTopic(MarketTopic marketTopic);
}
